// pages/search/search.js
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
const db = wx.cloud.database()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    lists: [],
    value: '',
    limit: 20,
    page: 0,
    isgetlist:false,
    statusBarHeight: '',
    loading:true
  },

  // 请求数据
  gethotelist(searchKey) {
    this.setData({
      isgetlist: true
    })
    // 自定义加载图标
    Toast.loading({
      message: '加载中...',
      forbidClick: true,
      loadingType: 'spinner',
    });
    const _ = db.command
    db.collection('hotel_details').where(_.or([
      {
        name: db.RegExp({
          regexp: '.*' + searchKey,
          options: 'i',
        })
      }
    ])).skip(this.data.page*20).limit(this.data.limit).get().then(res => {
      Toast.clear()
      // console.log(res)
      if(res.data.length==0) {
        Toast('没有新数据了');
      }
      this.setData({
        lists: [...this.data.lists,...res.data],
        isgetlist: false,
        loading:false
      })
    }).catch(err => {
      console.log(err);
      this.setData({
        isgetlist: false
      })
    })
  },

  // 赋值
  ChangeKey(e) {
    this.setData({
      value: e.detail,
    });
  },
  // 搜索
  SearchKey() {
    // console.log(this.data.value);
    this.setData({
      lists: []
    })
    if(this.data.isgetlist == false) {
      this.gethotelist(this.data.value)
    }
  },

  // 返回
  goback() {
    wx.navigateBack({
      delta: 1,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // console.log(111,options.searchKey);
    if(this.data.isgetlist == false) {
      this.gethotelist(options.searchKey)
    }
    this.setData({
      value: options.searchKey
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.setData({
      statusBarHeight:wx.getSystemInfoSync().statusBarHeight
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.setData({
      page: this.data.page+1
    })
    if(this.data.isgetlist == false) {
      this.gethotelist(this.data.value)
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})